RESIS: A New Methodology for Register Optimization in Software Pipelining

نویسندگان

  • Fermín Sánchez
  • Jordi Cortadella
چکیده

Software pipelining is a widespread technique to nd an instruction-level parallel schedule for loops. Reducing execution time often results in an increasing demand of resources to execute the loop operations and to store variables. This paper presents a new technique to reduce the register pressure generated by pipelined schedules. The technique nds a new schedule aiming at reducing the number of required registers without modifying the initiation interval of the schedule and the number of resources required to execute the instructions. A two-steps approach is proposed for such a reduction: minimizing the SPAN of the loop and rescheduling operations within a basic block. Experimental results show that further improvements on the schedules found by the best existing techniques can be obtained at the expense of a negligible computational cost.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Early Control of Register Pressure for Software Pipelined Loops

The register allocation in loops is generally performed after or during the software pipelining process. This is because doing a conventional register allocation at first step without assuming a schedule lacks the information of interferences between variable lifetime intervals. Thus, the register allocator may introduce an excessive amount of false dependences that reduce dramatically the ILP ...

متن کامل

An Integer Linear Programming Model of Software Pipelining for the MIPS R8000 Processor

In parallelizing the code for high-performance processors, software pipelining of innermost loops is of fundamental importance. In order to beneet from software pipelining, two separate tasks need to be performed: (i) software pipelining proper ((nd the rate-optimal legal schedule), and (ii) register allocation (allocate registers to the found schedule). Software pipelining and register allocat...

متن کامل

Early Periodic Register Allocation on ILP Processors

Register allocation in loops is generally performed after or during the software pipelining process. This is because doing a conventional register allocation as a first step without assuming a schedule lacks the information of interferences between values live ranges. Thus, the register allocator may introduce an excessive amount of false dependences that dramatically reduce the ILP (Instructio...

متن کامل

Improving Energy Consumption by Compiler Optimization Technique Register Pipelining

This paper presents a new approach for improving energy consumption of compiler generated software using register pipelining. This technique allows to save memory load operations by temporarily moving array elements into registers which leads to a significant reduction of data traffic between the processor and data memory. Experimental results have shown that this technique saves up to 25% of e...

متن کامل

Evaluating the Use of Register Queues in Software Pipelined Loops

ÐIn this paper, we examine the effectiveness of a new hardware mechanism, called Register Queues (RQs), which effectively decouples the architected register space from the physical registers. Using RQs, the compiler can allocate physical registers to store live values in the software pipelined loop while minimizing the pressure placed on architected registers. We show that decoupling the archit...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996